Vim 自身的功能虽然有限,但是还是有很多插件可以供使用的. 下面的几个插件非常好用(Fuzzy finder, rails ... , 具体见 .vimrc文件)
针对多个文件进行 查找和替换
使用插件: Greplace
Gsearch -F '要替换的字符串' . -R --include=*rb这里的-F,-R --include=*rb这些参数,跟grep中的一样。- 在返回的结果中,把该替换的替换。
Greplace然后选择y/a/n来决定是否替换。- 最后, 输入
wa保存所有文件的改动。

自动补全
凡是在 Vim 缓冲区中(近期打开过的文件)的代码,都可以补全。
- 从上到下选择候选词:
ctrl + n - 从下到上选择候选词:
ctrl + p

多重复制与粘贴
现在在 Windows, Mac 和 Linux下的复制操作,都不支持多种复制。 很奇怪。
Vim中支持。 使用YRShow 插件。
在我的个人配置中, , + a 即可。原始命令: :YRShow 。 在弹出的“复制历史列表”中, 上下移动, 找到合适的后直接按回车即可。

设置背景 是亮还是暗
切换背景色(很多默认的linux 其实vim很难看的)
:set background=dark深色背景色:set background=light亮色北京色

代码配色
每个人心中的代码配色都不同。 你的呢?
:colorscheme <主题名> 主题名包括: desert, deepblue, vividchalk 等等。 (不少需要到网上下载)

分割屏幕
让一个27寸显示器显示多个窗口是很酷的事儿(虽然我个人很少用)
- 竖屏分割:
vs(vertical split缩写) - 横屏分割:
sp(split缩写) - 来回跳换:
ctrl + w + w(跳到下一个小窗口), 或者ctrl + w + <j/k/h/l>(跳到某个方向的小窗口)

注释多行
这里使用了插件: nerd-commentor. 我为它配置了自己的快捷键。
- 选中多行 (
shift + v) ,cb(逗号 c b 三个键要快速按)取消注释: 使用传统的替换即可。

为多行代码格式化
多行选中后, 按 = 即可。 (注意:不是100%好用。 因为有的代码本身就是不完整的)

快速跳到当前光标所属文件(如果可能的话)
在 Rails的 路由或者 视图文件中,很好用。gf 即可。 (gf = go to file)
- 在 View 中, 快速跳到一个 partial.
- 在
config/routes.rb中跳到controller, 如下图所示。

Rails插件
Rails插件允许我们快速的在各种文件中跳来跳去(相信Vim 也有 Django, Spring, angular, 这样的插件, 有兴趣的朋友可以看看。)
- 跳转到 controller:
ctrl + c - 跳转到 model :
ctrl + m - 跳转到 view : 先移动到对应的action, 再
ctrl + v

显示/隐藏行数
:set number显示行数:set nonumber取消行数

折叠/取消折叠过长的行
:set wrap折叠:set nowrap取消折叠

粘贴模式
Vim 正常模式下的粘贴,会导致粘贴的代码一行接一行的缩进。 如果要取消这种缩进的话,就要进入到 "粘贴模式". (记得在这个模式下,无法使用 ctrl + t 命令来快速打开文件。 )
:set paste进入到粘贴模式:set nopaste取消粘贴模式

代码左移/右移 与 重复上一次操作。
在我们格式化代码时会用到。 极度好用。
记住:你写的任何代码都要人肉加上良好的格式化。 能为你个人减少大量错误。
- 左移: 选多行后,
<(shift + ,) - 右移: 选多行后,
>(shift + .) - 重复上次操作:
.

写在最后
上面介绍的所有vim技巧,都是我回忆出来的, 是我在2010年至今一直在用的技巧. 各位同学需要每一样都要掌握.